<html>
<head>
    <meta charset="UTF-8">
    <title>挂号记录</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="/static/layui/css/layui.css" media="all">
</head>
<body>
<div class="demoTable" style="text-align: center">
    <form class="layui-form"  action="" lay-filter="add">
    <div class="layui-form-item">
        <label class="layui-form-label">选择科室</label>
        <div class="layui-input-inline layui-col-md4">
            <select name="id" id="name" lay-filter="department">
                <option value="">请选择患者所在科室</option>
            </select>
        </div>
        <label class="layui-form-label">挂号类型</label>
        <div class="layui-input-inline layui-col-md4">
            <select name="type" id="type">
                <option value="">请选择患者挂号类型</option>
            </select>
        </div>
            <label class="layui-form-label">日期</label>
            <div class="layui-inline" id="test6">
                <div class="layui-input-inline">
                    <input type="text" autocomplete="off" name="create_datetime" id="test-startDate-1" class="layui-input" placeholder="开始日期">
                </div>
                <div class="layui-form-mid">-</div>
                <div class="layui-input-inline">
                    <input type="text" autocomplete="off" name="create_datetime" id="test-endDate-1" class="layui-input" placeholder="结束日期">
                </div>
            </div>
        <button class="layui-btn" id="searchBtn" data-type="reload">搜索</button>
    </div>
    </form>
</div>
<button class="layui-btn layui-btn-sm" lay-event="refresh" id="flush"><i class="layui-icon layui-icon-refresh-3"></i></button>
<table class="layui-hide" id="demo" lay-filter="test"></table>
<!-- 自定义的控件 -->
<!--<div id="toolbar" style="display: none; ">
    <div class="layui-btn-group">
        <button class="layui-btn layui-btn-sm" lay-event="add" data-method="notice" data-type="auto">添加</button>
    </div>
</div>-->
<!--<script type="text/html" id="buttonTpl">
    {{#  if(d.hstatus == 0){ }}
    <button class="layui-btn layui-btn-xs">正常</button>
    {{#  } else { }}
    <button class="layui-btn layui-btn-primary layui-btn-xs">废弃</button>
    {{#  } }}
</script>-->
<script type="text/jsp" id="barDemo">
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
     <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="/static/js/jquery-3.3.1.js"></script>
<script src="/static/layui/layui.js"></script>
<script>
    //科室下拉款
    layui.use(['form','laydate'], function () {
        // layui引入需要的组件
        var $ = layui.jquery;
        var layer = layui.layer;
        var form = layui.form;
        // 二级联动 第一步 渲染父级
        $.ajax({
            url: '/department/findAll',	// 后台取到所有的科室名称
            dataType: 'json',
            type: 'post',
            success: function (resData) {
                $.each(resData.date, function (index, value) {
                    // 这里的 value.roomName
                    // 前者是页面显示的值，后者是传递给后台的值。
                    // 正常情况下，后者应该是 value.id
                    $('#name').append(new Option(value.name, value.id));	// 下拉菜单里添加元素
                });

                //渲染select
                form.render('select');
            }
        });
        // 第二步 监听父级，每当父级发生变化时，渲染子级的值
        form.on('select(department)', function(data){
            var name = data.value; // name 选中的科室名称
            console.log(name)
            $.ajax({
                url: '/department/findAll',
                dataType: 'json',
                type: 'post',
                data: {name:name},		// 传入科室名称，查找该科室的所有床号
                success: function (resData) {
                    // 清空床号
                    $('#type').empty();
                    $.each(resData.date, function (index, value) {
                        // 这里的 value.bedNo
                        // 前者是页面显示的值，后者是传递给后台的值。
                        // 正常情况下，后者应该是 value.id
                        $('#type').append(new Option(value.type == 0?"普通门诊":"急诊", value.type));// 下拉菜单里添加元素
                    });

                    //渲染select
                    form.render('select');
                }
            });
        });

    });
    layui.use(['table', 'layer', 'jquery','laydate'], function () {
        var table = layui.table;
        var layer = layui.layer;
        var $ = layui.jquery, laydate = layui.laydate;
        laydate.render({
            elem: '#time1'
        });
        laydate.render({
            elem: '#time2'
        });
        laydate.render({
            elem: '#test6'
            //设置开始日期、日期日期的 input 选择器
            //数组格式为 2.6.6 开始新增，之前版本直接配置 true 或任意分割字符即可
            ,range: ['#test-startDate-1', '#test-endDate-1']
        });
        //第一个实例
        table.render({
            elem: '#demo'
            , height: document.body.clientHeight - 180
            , url: '/register/findAll' //数据接口
         /*   , url: '/h/showhospital' //数据接口*/
            , page: true
            , id: 'testReload'
            , cols: [[ //表头
                {field: 'id', title: '序号', sort: true}
                , {field: 'patient_id', title: '就诊卡号', sort: true
                }
                , {field: 'name', title: '姓名', sort: true,
                    templet: function (d) {
                        return d.patient.name;
                    }
                }
                , {field: 'name', title: '科室', sort: true,
                    templet: function (d) {
                        return d.department.name;
                    }
                }
                , {field: 'department', title: '类型', sort: true,
                    templet: function (d) {
                    if(d.department.type == 0){
                        return "内科";
                    }
                        if(d.department.type == 1){
                            return "外科";
                        }
                        if(d.department.type == 2){
                            return "急诊";
                        }
                        if(d.department.type == 3){
                            return "其他（体检）";
                        }
                    }
                }
                , {field: 'doctor', title: '就诊医生', sort: true}
                , {field: 'create_datetime', title: '创建时间', sort: true, templet: "<div>{{layui.util.toDateString(d.create_datetime, 'yyyy-MM-dd')}}</div>"}
                , {field: 'create_name', title: '创建人', sort: true}
                , {field: 'create_id', title: '标识', sort: true}
                , {field: 'right', title: '操作', toolbar: '#barDemo'}
            ]]
            , toolbar: '#toolbar',//表格头信息
            parseData: function (rs) {//数据格式解析
                console.log(rs);
                if (rs.code == 200) {
                    return {
                        "code": rs.code,
                        "msg": rs.msg,
                        "count": rs.date.total,
                        "data": rs.date.list
                    }
                }
            },
            response: {	// 设置响应码
                statusCode: 200 //规定成功的状态码，默认：0
            }
        });
        //刷新事件
        $(document).on('click',"#flush",function(){
            //parent.location.reload(); //重新加载父页面
            location.reload();//重新加载当前页面
        });
        //监听事件
        table.on('toolbar(test)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'add':
                    open("添加合同页面", "/view/hospital/add.html");
                    break;
            }
            ;
        });
        //监听行事件
        table.on('tool(test)', function (obj) {
            var data = obj.data;
            if (obj.event === 'detail') {
                open("详情页面", "/view/contract/detail.html?hid=" + data.hid);
            } else if (obj.event === 'del') {
                layer.confirm('真的废弃此医院吗！！', function (index) {
                    $.ajax({
                        type: "POST",
                        url: "/hospital/delete",
                        data: {hid: data.hid},
                        dataType: "json",
                        success: function (da) {
                            if (da.code == 200) {
                                layer.msg(da.msg)
                                obj.del(); //删除对应行（tr）的DOM结构
                                // location.reload();//刷新当前页面
                            } else {
                                layer.msg(da.msg)
                            }
                        },
                        error: function (da) {
                            alert("出现错误");
                            return false;
                        }
                    }) //ajax结束
                    layer.close(index);
                });
            } else if (obj.event === 'edit') {
                open("文件修改页面", "/view/hospital/edit.html?hid=" + data.hid);
            }
        });
        //"用户添加页面",
        function open(title, url) {
            layer.open({
                type: 2
                , title: title
                , content: url
                , offset: '50px'
                , area: ['500px', '60%']
                , end: function () {
                    table.reload('testReload');

                }
            });
        }

        function searchBtn() {

        }

        var $ = layui.$, active = {
            reload: function () {
                var name = $('#name');
                var time = $('#test-startDate-1');
                var time = $('#test-endDate-1');
                //执行重载
                console.log(hname)
                table.reload('testReload', {
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    , where: {
                        "department_id": name.val(),
                        "create_datetime": time.val(),
                    }
                });
            }
        };
        $('.demoTable .layui-btn').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });
</script>
</body>
</html>